package cn.edu.nuc.ssm.service.impl;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import cn.edu.nuc.ssm.dao.OrderMapper;
import cn.edu.nuc.ssm.domain.Order;
import cn.edu.nuc.ssm.service.interfaces.ShopCarService;
@Service
public class ShopCarServiceImpl implements ShopCarService{
    @Autowired
	private OrderMapper mapper;
    //加入购物车
	@Override
	@Transactional
	public int insert(Order order) {
		//得到该用户的所有购物车信息
		List<Order> list = mapper.list(order.getUserid());
		List<Integer> list2 = new ArrayList<Integer>() ;
		for(int i=0;i<list.size();i++){
			list2.add(list.get(i).getFilmId());
		}
		//如果包含该电影id,就更新购物车中的购买数量。
		if(list2.contains(order.getFilmId())){
			//先取出原来的购买数量。
			Order orderold = mapper.selectByFilmid(order.getFilmId());
			//购买数量为原来的加上现在买的
			orderold.setOrdernum(new BigDecimal(orderold.getOrdernum().intValue() + order.getOrdernum().intValue()));
			return mapper.updateByPrimaryKeySelective(orderold);
		}
		//否则添加
		return mapper.insert(order);
	}
	
	
	//得到该用户的所有购物车信息
	@Override
	public List<Order> list(int userid) {
		return mapper.list(userid);
	}

     //移除购物车
	@Override
	public int delete(int orderid) {
		return mapper.deleteByPrimaryKey(orderid);
	}
    
    
}
